#include <iostream>
#include<vector>
using namespace std;

int main() {
    vector<int> arr = { 1,-2,3,4 };
    vector<int> ret;
    ret.resize(3);
    ret[0] = (arr[0] + arr[2]) / 2;
    ret[1] = (arr[1] + arr[3]) / 2;
    ret[2] = (arr[3] - arr[1]) / 2;
    for (auto e : ret)
    {
        if (e < 0)
        {
            cout << "No";
            return 0;
        }
    }
    for (int i = 0; i < 3; i++)
    {
        cout << ret[i] << " ";
    }
    return 0;
}
//#include <iostream>
//#include<vector>
//#include<string>
//using namespace std;
//int main() {
//    int M=-1;
//    int N=7;
//    if (M == 0)
//    {
//        cout << '0';
//        return 0;
//    }
//    int z = 0;
//    if (M < 0)
//    {
//        z = 1;
//        M = -M;
//    }
//    vector<int> tmp;
//    string ret;
//    while (M != 0)
//    {
//        tmp.push_back(M % N);
//        M /= N;
//    }
//    for (int i = 0; i < tmp.size(); i++)
//    {
//        if (tmp[tmp.size() - 1 - i] >= 10)
//        {
//            ret += 'A' + tmp[tmp.size() - 1 - i] - 10;
//        }
//        else {
//            ret += '0' + tmp[tmp.size() - 1 - i];
//        }
//    }
//    if (z)
//    {
//        cout << '-' << ret;
//    }
//    else
//    cout << ret;
//    return 0;
//}